/**
 * 文件流转为 Base64 对象
 * @param file
 * @returns
 */
const FileToBase64 = (file: File) => {
  return new Promise((resolve, reject) => {
    // 创建一个新的 FileReader 对象
    const reader = new FileReader()
    // 读取 File 对象
    reader.readAsDataURL(file)
    // 加载完成后
    reader.onload = function () {
      // 将读取的数据转换为 base64 编码的字符串
      const base64String = (reader?.result as any)?.split(",")[1]
      // 解析为 Promise 对象，并返回 base64 编码的字符串
      resolve(base64String)
    }

    // 加载失败时
    reader.onerror = function () {
      reject(new Error("Failed to load file"))
    }
  })
}

export default FileToBase64
